package com.hejr.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author: hejr
 * @desc:
 * @date: 2019/4/16 15:30
 */
@Component
@Slf4j
public class ScheduledTasks {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");


    /**
     * 每隔5秒钟触发一次
     */
    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        log.info("现在时间：" + dateFormat.format(new Date()));
    }

    /**
     * 通过cron来设置定时规则，每隔10秒
     * 对应含义为：
     *   字段         允许值         允许的特殊字符
         秒          0-59 ,          - * /
         分          0-59 ,          - * /
         小时         0-23 ,          - * /
         日期         1-31 ,          - * ? / L W C
         月份         1-12 或者 JAN-DEC , - * /
         星期         1-7 或者 SUN-SAT , - * ? / L C #
         年（可选） 留空, 1970-2099 , - * /
     */
    @Scheduled(cron = "0/10 * * * * ?")
    public void executeByTenSecond() {
        log.info("通过cron来设置每隔10s执行...");
    }

}
